901A - Hashing Trees - CodeForces Solution


constructive algorithms trees *1500

Please click on ads to support us..

Python Code:

n = int(input())
a = list(map(int,input().split()))
k = 0
r = 0
sum1 = 0
for i in range(n+1):
    if a[i] > 1:
        k += 1
    else:
        k = 0
    if k == 2:
        r = 1
    sum1 += a[i]
if r == 0:
    print('perfect')
    exit()
r1 = []
r2 = []
num = 0
prev = 0
for i in range(n+1):
    was = 0
    for k in range(a[i]):
        r1.append(prev)
        if a[i] > 1 and a[i-1] > 1 and was == 0:
            r2.append(prev-1)
            was = 1
        else:
            r2.append(prev)
        num += 1
    prev = num
print('ambiguous')
print(*r1)
print(*r2)


Comments

Submit
0 Comments
More Questions

41C - Email address
1373D - Maximum Sum on Even Positions
1574C - Slay the Dragon
621A - Wet Shark and Odd and Even
1395A - Boboniu Likes to Color Balls
1637C - Andrew and Stones
1334B - Middle Class
260C - Balls and Boxes
1554A - Cherry
11B - Jumping Jack
716A - Crazy Computer
644A - Parliament of Berland
1657C - Bracket Sequence Deletion
1657B - XY Sequence
1009A - Game Shopping
1657A - Integer Moves
230B - T-primes
630A - Again Twenty Five
1234D - Distinct Characters Queries
1183A - Nearest Interesting Number
1009E - Intercity Travelling
1637B - MEX and Array
224A - Parallelepiped
964A - Splits
1615A - Closing The Gap
4C - Registration System
1321A - Contest for Robots
1451A - Subtract or Divide
1B - Spreadsheet
1177A - Digits Sequence (Easy Edition)